module.exports = function debounce(fn, delay) {
    // 定时器
    let timer = null

    // 将debounce处理结果当作函数返回
    return function () {
        // 保留调用时的this上下文
        let context = this

        // 保留调用时传入的参数
        let args = arguments

        // console.log(timer);
        if (timer) {
            clearTimeout(timer)
        }


        timer = setTimeout(function () {
            fn.apply(context, args)
        }, delay)
    }
}